There are multiple Radio Frequency Identification (RFID) and non-RFID tags in commerce that have the capability to store data. Four standards currently dominate RFID communication: ISO/IEC 14443-A, ISO/IEC 14443-B, ISO/IEC 15693, and JIS X6319-4, each of which are hereby incorporated herein by reference in their entirety. Other types of tags may employ Bluetooth® communication protocols, Near-Field Communications (NFC) protocols, Zigbee communication protocols, ZWave communication protocols, and the like. Data is often written to a tag using an appropriate writing device that communicates with the tag via an appropriate protocol. On the other side, a reading device is used to read the data from the tag, again via the appropriate protocol. It can be possible that a single device has reading and writing capabilities. One example of such a device is an NFC-equipped mobile device that operates in a read/write mode.
Industry efforts, such as the NFC forum, have defined specifications regulating the format of messages that are written on NFC-enabled tags (e.g., NFC Data Exchange Format (NDEF) message definition standards). Tags that communicate with other protocols have similar limitations on the format of messages that can be written thereto. Some of these standards do not, however, define how to control who can write data to a tag and/or when data can be written to the tag. This lack of control raises a serious issue. Specifically, regardless of the type of communication protocol used by the tag to communicate with other devices, data on a tag can be overwritten either accidentally or purposefully. Some proprietary solutions have the capability to switch off the tag's ability to have data written thereto, thereby avoiding the problem of overwriting data on the tag. As an example, the tag can be switched into a read-only mode of operation, thereby preserving all data written to the tag prior to switching the mode of operation of the tag.
The above-noted methods of protecting data on a tag have non-trivial shortcomings. On the one hand, if no write-protection controls are utilized, then anyone can write and modify the data on the tag. This is not acceptable in many applications where data on the tag needs to be trusted. On the other hand, if a read-only tag is utilized, then the tag cannot be modified once the tag is placed into the field. This strict control makes it difficult to enable flexible application development for the tags.